package com.swanclouds.api.systems;

import com.swanclouds.common.RestService;
import com.swanclouds.model.common.redfish.CollectionResource;
import com.swanclouds.model.systems.EthernetInterfaceConfigure;
import com.swanclouds.model.task.Task;
import com.swanclouds.redfish.systems.domain.EthernetInterface;

import java.util.List;

/**
 * 以太网接口集合资源信息服务
 *
 * @author 张立强
 */
public interface EthernetInterfaceService extends RestService {

    /**
     * 以太网集合资源的信息
     * @return the EthernetInterface resource info
     */
    CollectionResource get();

    /**
     * 查询以太网资源信息
     * @param ethernetInterfaceId 以太网ID
     * @return EthernetInterface
     */
    EthernetInterface getEthernetInterface(String ethernetInterfaceId);

    /**
     * 仅支持Atlas系列产品，且需配合iBMA使用，iBMA版本号需大于或等于1.50.831。
     * X86系统是EulerOS且内核版本是3.10.0-327或3.10.0-514
     * @param configure 配置信息
     * @param ethernetInterfaceId 以太网ID
     * @return Task
     */
    Task configure(EthernetInterfaceConfigure configure, String ethernetInterfaceId);
    /**
     * 查询以太网资源信息列表
     * @return List&lt;EthernetInterface&gt;
     */
    List<EthernetInterface> list();

    /**
     * VLAN 集合资源服务
     * @return VLANService
     */
    VLANService VLAN();
}
